草庐IT

Ruby File 类和方法

全部标签

c# - 有趣的 "params of ref"功能,有什么解决方法吗?

我想知道对于值类型是否有任何类似的方法......publicstaticclassExtensionMethods{publicstaticvoidSetTo(thisBooleansource,paramsBoolean[]bools){for(inti=0;i那么这将是可能的:Booleana=true,b,c=true,d=true,e;b.SetTo(a,c,d,e);当然,这是行不通的,因为bool是值类型,所以它们作为值而不是引用传递给函数。除了将值类型包装成引用类型(通过创建另一个类)之外,还有什么方法可以在使用params修饰符时通过引用(ref)将变量传递给函数?

c# - C# 子字符串方法的危险?

最近我一直在阅读Java子字符串方法的一些缺陷-特别是与内存有关,以及java如何保持对原始字符串的引用。具有讽刺意味的是,我还在开发一个服务器应用程序,该应用程序在一秒钟内多次使用C#.Net的子字符串实现。这让我开始思考......C#(.Net)string.Substring是否存在内存问题?string.Substring的性能如何?有没有更快的方法根据开始/结束位置拆分字符串? 最佳答案 查看.NET的String.Substring实现,子字符串不与原始字符串共享内存。privateunsafestringIntern

c# - 使用 jQuery AJAX 将字符串数组传递给具有可变数量参数的 web 方法

我正在尝试使用jQueryAjax将字符串参数数组传递给C#ASP.NETWeb服务。这是我的示例网络方法。请注意,该函数接受可变数量的参数。运行jquery时,Chrome的javascript控制台出现500InternalServerError。我正在使用jquery1.6.2和.NET3.5[WebMethod]publicstringConcat(paramsstring[]arr){stringresult="";for(inti=0;i这是jquery:$(document).ready(function(){varmyCars=newArray();myCars[0]=

c# - 为查询数据库的方法编写单元测试

我正在学习TDD,我目前有一个有效的方法,但我认为我可以尝试使用TDD重建它。该方法基本上采用6个参数,查询数据库,执行一些逻辑并返回List我的初始测试包括检查空/零定义的字符串和int方法参数值,但现在我不确定该怎么做。如果我不使用TDD,我只会创建代码来查找数据库连接字符串并打开数据库连接、查询数据库、读取值等。显然我们不能在单元测试中做到这一点,所以我在寻求如何进行的一些建议。 最佳答案 请记住,TDD不仅关乎测试,还关乎良好的设计。这种方法太多了;它违反了关注点分离原则。您已经确定了几个需要测试的区域:Themethode

C# new in 方法声明

publicnewintAdjustedBaseValue这里的new是什么意思或作用? 最佳答案 这意味着您正在隐藏int值。它在基类中声明,而您在派生类中重新声明它,有效地隐藏了基类版本。参见文档here获取更多信息。引用示例here 关于C#newin方法声明,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4764382/

c# - 如何正确反射(reflect)基本接口(interface)方法

我通过反射调查了2个接口(interface)和2个类:家长IChild-派生自IParent家长子级-派生自父级对我来说奇怪的是,当我通过对IChild类型的反射进行查看时,我没有找到IParent方法。应用于Child类型的相同代码按预期工作-反射显示Parent方法。interfaceIParent{voidParentMethod();}interfaceIChild:IParent{voidChildMethod();}classParent{publicvoidParentMethod(){}}classChild:Parent{publicvoidChildMethod(

c# - 检测 ClientObject 属性是否已检索/初始化的正确方法

如果您使用SharePoint中的客户端对象模型并访问尚未初始化或已被检索的属性Context.Load(property);Context.ExecuteQuery();你得到例如:Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException或Thecollectionhasnotbeeninitialized.Ithasnotbeenrequestsortherequesthasnotbeenexecuted.异常。在访问这些属性之前是否有任何正确的方法来检查它们是否已经初始化/检索?没有Try/Catch方法

c# - 要求通用方法在 FAIL 时抛出特定的异常类型

好吧,我知道我完全会因为这个而看起来像个白痴,但我的大脑今天早上没有开始运转。我想要一个方法,我可以说“如果它变坏了,返回这种类型的异常”,对吗?例如,类似(这行不通):staticExTypeTestException(stringmessage)whereExType:Exception{Exceptionex1=newException();ExTypeex=newException(message);returnex;}现在让我感到困惑的是,我们知道由于where子句,泛型类型将成为异常类型。但是,代码会失败,因为我们无法将Exception隐式转换为ExType。我们也不能显

c# - 为什么 IsNan 是 Double 类的静态方法而不是实例属性?

问题在标题里,为什么:returndouble.IsNaN(0.6d)&&double.IsNaN(x);代替return(0.6d).IsNaN&&x.IsNaN;我问是因为在实现具有与NaN相同含义的特殊值的自定义结构时,我倾向于选择第二种。此外,属性的性能通常更好,因为它避免了复制堆栈上的结构来调用IsNaN静态方法(而且由于我的属性不是虚拟的,所以没有自动装箱的风险)。诚然,这对于内置类型来说并不是真正的问题,因为JIT可以轻松地对其进行优化。我现在最好的猜测是,由于您不能在double类中同时拥有同名的属性和静态方法,因此他们更喜欢受java启发的语法。(事实上​​,您可以同

c# - 如何在 C# 中的 Dispose() 方法中处理托管资源?

我知道Dispose()是为非托管资源设计的,当资源不再需要时应该被释放,而不用等待垃圾收集器完成对象。但是,在处置对象时,它会抑制垃圾收集器的终结(在下面的代码中为GC.SuppressFinalize(this);)。这意味着如果对象包含托管资源,我们也必须处理它,因为垃圾收集器不会清理它。在下面的示例代码中(来自MSDN),“Component”是一个托管资源,我们为此资源调用了dispose()(component.Dispose())。我的问题是,我们如何为托管资源的组件类实现这个方法?我们是否应该使用像Collect()这样的东西来戳垃圾收集器来清理这部分?任何想法将不胜感